搭建鸿蒙编译环境(VMware+Linux) |
您所在的位置:网站首页 › 鸿蒙 源代码 › 搭建鸿蒙编译环境(VMware+Linux) |
系统定义
HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,形成一个“超级虚拟终端”,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。对应用开发者而言,HarmonyOS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关,降低了开发难度和成本。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。
对设备开发者而言,HarmonyOS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。技术特性硬件互助,资源共享分布式软总线 分布式软总线是多种终端设备的统一基座,为设备之间的互联互通提供了统一的分布式通信能力,能够快速发现并连接设备,高效地分发任务和传输数据。分布式软总线示意图见。 ![]() HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。一次开发、多端部署示意图见图 ![]() HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如图 ![]() 我在自己的另一篇文章中详细讲解了怎么安装VM+Linux。 下载安装包VM虚拟机linux安装VM解压![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() YC592-8VF55-M81AZ-FWW5T-WVRV0 FC78K-FKED6-H88LZ-0QPEE-QP8X6 UV1H2-AKWD2-H8EJZ-GGMEE-PCATD AC310-0VG0P-M88CQ-YWY5Z-QPRG0 CG54H-D8D0H-H8DHY-C6X7X-N2KG6 ZC3WK-AFXEK-488JP-A7MQX-XL8YF AC5XK-0ZD4H-088HP-9NQZV-ZG2R4 ZC5XK-A6E0M-080XQ-04ZZG-YF08D ZY5H0-D3Y8K-M89EZ-AYPEG-MYUA8 完成![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 19. 这里默认就好(默认的是Shanghai)点击【继续】。 ![]() 20. 创建用户账号,点击【继续】。 ![]() 21. 安装中。 ![]() 22. 安装完成,点击【现在重启】。 ![]() 23. 点击键盘上的回车【Enter】键。 24. 重启后不要有任何操作。 25. 点击【用户名】。 26. 输入密码,点击【登录】。 ![]() 27. 安装完成 、 下载安装VMware ToolsVMware Tools的功能主要有两点:1、可以在本机和虚拟机之间拖拽文件 2、是虚拟机的屏幕充满VMware Workstations的窗口 ![]() 这里以Ubuntu 16.04为例,其他的步骤都大致相同 选择“虚拟机”->“安装VMware Tools”![]() ![]() ![]() ![]() ![]() 开始安装之后见到yes,就输入yes。其他的就一路回车按(Enter)直到出现“Enjoy, –the VMware team”如下图,就表示安装成功了,然后手动重启虚拟机,虚拟机的屏幕充满VMware Workstations的窗口。 若是手动重启虚拟机之后,虚拟机的屏幕没有充满VMware Workstations的窗口,也可以手动设置![]() 也可以在本机和虚拟机之间直接拖拽文件了 最后,解压的VMware Tools的安装文件不想要的话,可以删除,不会影响正常的使用构建编译环境将Linux shell改为bash查看shell是否为bash,在终端运行如下命令 ls -l /bin/sh 1如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改: 方法一:在终端运行如下命令,然后选择 no。 sudo dpkg-reconfigure dash 1方法二:先删除sh,再创建软链接。 sudo rm -rf /bin/sh sudo ln -s /bin/bash /bin/sh 12确定Python安装好后,运行如下命令,将python路径链接到"/usr/bin/python"。which python3.8 cd /usr/bin && sudo rm python && sudo ln -s /usr/local/bin/python3.8 python && python --version 12安装并升级Python包管理工具(pip3),任选如下一种方式。命令行方式: sudo apt-get install python3-setuptools python3-pip -y sudo pip3 install --upgrade pip 12安装包方式: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py 12运行如下命令,安装python模块setuptools。pip3 install setuptools 1安装GUI menuconfig工具(Kconfiglib),建议安装Kconfiglib 13.2.0+版本,任选如下一种方式。命令行方式: sudo pip3 install kconfiglib 1安装包方式: 下载.whl文件(例如:kconfiglib-13.2.0-py2.py3-none-any.whl)。 下载路径:“https://pypi.org/project/kconfiglib#files” 运行如下命令,安装.whl文件。 sudo pip3 install kconfiglib-13.2.0-py2.py3-none-any.whl 1安装pycryptodome,任选如下一种方式。安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。 命令行方式: sudo pip3 install pycryptodome 1安装包方式: 下载.whl文件(例如:pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl)。 下载路径:“https://pypi.org/project/pycryptodome/#files”。 运行如下命令,安装.whl文件。 sudo pip3 install pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl 1![]() ![]() 命令行方式: sudo pip3 install ecdsa 1安装包方式: 下载.whl文件(例如:ecdsa-0.14.1-py2.py3-none-any.whl)。 下载路径:“https://pypi.org/project/ecdsa/#files” 运行如下命令,安装.whl文件。 sudo pip3 install ecdsa-0.14.1-py2.py3-none-any.whl 1安装Scons打开Linux编译服务器终端。 运行如下命令,安装SCons安装包。 sudo apt-get install scons -y 1如果软件源中无法找到安装包,请按以下步骤处理: 下载源码包(下载路径:“ https://scons.org/pages/download.html ”,推荐SCons版本是3.0.4+)。 解压源码包到任意目录。 安装源码包:进入解压目录,运行如下命令: sudo python3 setup.py install 1运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。 scons -v 1![]() ![]() 如果后续通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gn、ninja、gcc_riscv32编译工具。 (推荐)如果后续通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装gn、ninja、gcc_riscv32编译工具。 安装gn、ninja、gcc_riscv32编译工具时,请确保编译工具的环境变量路径唯一。 官方流程安装gn官网 打开Linux编译服务器终端。 下载gn工具。 解压gn安装包至~/gn路径下。 tar -xvf gn.1523.tar -C ~/ 1设置环境变量。 vim ~/.bashrc 1将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 export PATH=~/gn:$PATH 1生效环境变量。 source ~/.bashrc 1安装ninja打开Linux编译服务器终端。 下载ninja工具。 解压ninja安装包至~/ninja路径下。 tar -xvf ninja.1.9.0.tar -C ~/ 1设置环境变量。 vim ~/.bashrc 1将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 export PATH=~/ninja:$PATH 1生效环境变量。 source ~/.bashrc 1安装gcc_riscv32(WLAN模组类编译工具链)须知 Hi3861平台仅支持使用libgcc运行时库的静态链接,不建议开发者使用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。 打开Linux编译服务器终端。 下载gcc_riscv32工具。 解压gcc_riscv32安装包至~/gcc_riscv32路径下。 `tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~`/ 1设置环境变量 vim ~/.bashrc 1将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 export PATH=~/gcc_riscv32/bin:$PATH 1生效环境变量。 source ~/.bashrc 1Shell命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。riscv32-unknown-elf-gcc -v 1![]() ![]() 打开设置环境变量 vim ~/.bashrc 1在最下面添加这几行 export PATH=~/gn:$PATH export PATH=~/ninja:$PATH export PATH=~/gcc_riscv32/bin:$PATH 123保存 source ~/.bashrc 1现在可以查看这些环境变量 echo $PATH 12![]() ![]() 开发者需要在Linux服务器上下载一套源代码,获取源码(下载链接)。更多源码获取方式,请见源码获取。 解压在Linux终端中输入 tar -xzvf code-1.0.tar.gz 1编译在终端上输入 python build.py wifiiot 1![]() 使用HarmonyOS IDE工具DevEco的终端工具连接Linux服务器。(HarmonyOS IDE工具DevEco集成了终端工具的能力,基本使用请参考指导文档) 依次点击“View”、“Terminal”,打开IDE终端工具。 ![]() 在终端界面使用ssh命令连接linux服务器,如“ssh user@ipaddr”。 ![]() 进入源码目录下,运行程序 输入 python build.py wifiiot ![]() ![]() 构建成功后,会在./out/wifiiot/路径中生成以下文件,至此编译构建流程结束。 ![]() ![]() ![]() 出现这种问题的原因往往是python的软连接的问题 我的解决方法: 进入环境变量,删除错误的python环境配置,保存退出 然后 which python3 出现 /usr/bin/python 1输入 python -v 出现 python 3.8.5 之后就可以运行成功了 本质就是把bin里面的python换成3.8的软连接 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |